home *** CD-ROM | disk | FTP | other *** search
/ Power CD / Power CD ATARI-Rechner Lieben.iso / DEMOS / NO / INTERFAC / LIESMICH < prev   
Encoding:
Text File  |  1994-05-20  |  31.3 KB  |  685 lines

  1.  
  2.  INTERFACE - Das Resource Construction Kit                       20.05.94
  3.  -----------------------------------------
  4.  Jeder, der eigene Programme auf seinem ATARI/TOS Computer erstellt,
  5.  kennt Interface. Dieses Resource-Construction-Set erlaubt die einfache
  6.  Erstellung und Bearbeitung von RSC-Dateien, also Menüs, Dialogformulare
  7.  Alerts, Icons, ...
  8.  
  9.  Es folgt die Beschreibung der Funktionen von Interface, ergänzt um eine
  10.  Liste mit Versionen von Interface mit den jeweiligen Änderungen und
  11.  Erweiterungen zur jeweils vorigen Version.
  12.  
  13.  Wer kein komplettes Resource-Construction-Kit benötigt und vielleicht nur
  14.  die Icons vom Desktop seines STs, TTs, Falcon oder kompatiblen ändern
  15.  möchte, bzw. eigene Icons erstellen will, für den bietet sich Zoom!, der
  16.  Icon-Editor an. Information erhalten sie unter der angegebenen Adresse.
  17.  
  18.  
  19.  Besonderheiten von Interface:
  20.  =============================
  21.  - Alle wichtigen Resource-Formate werden unterstützt  (RSD,  DEF,  DFN 
  22.    und HRD).
  23.  
  24.  - MSDOS  Resources werden automatisch erkannt und können  geladen  und 
  25.    gespeichert werden.
  26.  
  27.  - Integrierter Iconeditor mit vielen Funktionen.
  28.  - Bei Icons weitgehend automatische Maskenerstellung.
  29.  - Der  Iconeditor  kann Images und Icons als C  Source  ausgeben  (ICN 
  30.    Format, besonders wichtig für CPX Module).
  31.  - IMG Dateien können vom Iconeditor geladen und gespeichert werden.
  32.  
  33.  - Interface  kann eine komplette Resource als C Source  ausgeben  (RSH 
  34.    Format).  Das Format wurde so optimiert, daß alle Zeiger im RSH File 
  35.    bereits richtig initialisiert sind.
  36.  
  37.  - Fast alle Funktionen lassen sich durch Tastatur Shortcuts  anwählen. 
  38.    Alle  Shortcuts  können  vom Benutzer  durch  Ändern  der  Interface 
  39.    Resourcedatei neu belegt werden.
  40.  
  41.  - In  Formularen können mehrere Objekte gleichzeitig gewählt und  ver-
  42.    schoben werden.
  43.  - Wenn  mehrere  Objekte  selektiert wurden,  lassen  sich  die  Flags 
  44.    (ob_state und ob_flag) gleichzeitig und global durch die  Funktions-
  45.    taste  F6 ändern.  Dabei wird eine echte 'TriState'  Logik  benutzt: 
  46.    "Setzen",  "Löschen"  und  "Ignorieren".  Ein Button mit dem  Status 
  47.    "Ignorieren"  sorgt  dafür,  daß dieses Flag  bei  den  selektierten 
  48.    Objekten nicht verändert wird.
  49.  
  50.  - Benutzerdefinierte Objekte (Extended Objekttypen) werden durch  eine 
  51.    Schnittstelle  zu  einem  externen  Programm  (EXTOBFIX.PRG)  unter-
  52.    stützt.  Dieses Programm wird von Interface beim Programmstart nach-
  53.    geladen  und  kann die Testfunktion (F9) von Formularen  und  Alert-
  54.    boxen ersetzen.
  55.    Das  auf  der  Diskette  befindliche Programm  stellt  alle  in  den 
  56.    FlyDials benutzten Objekttypen zur Verfügung.
  57.    Außerdem  befinden sich in den Ordnern GEISS_1.EXT  und  GEISS_2.EXT 
  58.    die  EXTOBFIX.PRG  Dateien für die in der  1.  und  2.  Auflage  des 
  59.    Buches  "Vom Anfänger zum GEM Profi" benutzten  erweiterten  Objekt-
  60.    typen.
  61.  
  62.  - Objektnamen können beim Kopieren von Objekten zwischen  unterschied-
  63.    lichen Resource-Dateien mitkopiert werden.
  64.  
  65.  - Ein  UNDO  ist beim Verschieben,  Ändern der Größe und  Löschen  von 
  66.    Objekten in einem Formular möglich.
  67.  
  68.  - Zentrieren von Objekten.
  69.  
  70.  - Auf Wunsch manuelle Größen- und Positionseingabe.
  71.  
  72.  - Labels dürfen bis zu 16 Zeichen lang sein.
  73.  
  74.  - Interface  unterstützt das Accessory Protokoll von Gemini  1.2,  und 
  75.    arbeitet daher u.a. mit Treeview und CLOCK zusammen.
  76.  
  77.  - In  allen  Dialogboxen von Interface kann der Cursor  mit  der  Maus 
  78.    buchstabengenau positioniert werden.  Nach dem Druck auf die  INSERT 
  79.    Taste erscheint eine Sonderzeichen-Dialogbox,  wenn Sonderzeichen in 
  80.    dem Eingabefeld zugelassen sind.
  81.  
  82.  - Alle  Dialoge  lassen sich durch die  FlyDials  verschieben.  Unter-
  83.    strichene Buchstaben geben den ALTERNATE Shortcut an.
  84.  
  85.  - Eine Accessory Schnittstelle wurde implementiert,  die anderen  Pro-
  86.    grammen erlaubt,  auf interne Daten und alle wichtigen Routinen  von 
  87.    Interface zuzugreifen.  Dadurch könnte z.B.  eine Sourcecode Ausgabe 
  88.    für Modula oder Fortran realisiert werden.
  89.  
  90.  - Interface läuft auf jedem Rechner in jeder Auflösung mit  mindestens 
  91.    1MB Hauptspeicher.  Das Programm unterstützt bis zu 24 Laufwerke und 
  92.    hat  daher  auch  mit  dem  Atari CD  ROM  Treiber  META  DOS  keine 
  93.    Probleme.  Da das Programm nur GEM Funktionen benutzt,  arbeitet  es 
  94.    auch mit GEM 2.0 und GEM 3.0 zusammen.
  95.  
  96.  - Die  Headerdatei  Ausgabe für Omikron Basic  ist  frei  definierbar, 
  97.    d.h.  statt  dessen  kann  man z.B.  auch  ohne  viel  Aufwand  eine 
  98.    Assembler-Ausgabe realisieren.
  99.  
  100.  - In den Dialogboxen FREESTRING,  BUTTON und ALERT gibt es mehrzeilige 
  101.    Eingabefelder,  die  als ein zusammenhängendes Feld bearbeitet  wer-
  102.    den.  Dadurch  dürfen Strings bis zu 130 Zeichen,  und Free  Strings 
  103.    bis zu 260 Zeichen lang sein.
  104.  
  105.  Neue Funktionen in Interface 2.0:
  106.  =================================
  107.  - "Nächstes"-Button in allen Objekt- und Baumdialogen,  um direkt  zum 
  108.    nächsten Objekt oder Baum zu gelangen.
  109.  
  110.  - 2  Resourcedateien können miteinander verglichen  werden.  Sinn  der 
  111.    Funktion ist,  daß man damit z.B.  fremdsprachige Resourcen leichter 
  112.    pflegen kann, und Fehler schneller findet.
  113.  
  114.  - Die Baum- und Objektebox ist in ein Fenster gelegt worden.
  115.  
  116.  - Man  kann in der Suchfunktion auch nach irgendwelchen Texten in  der 
  117.    Resource suchen. Groß/Kleinschreibung wird nicht unterschieden.
  118.  
  119.  - Alle Dialoge wurden in Fenster gelegt (Abschaltbar!).
  120.  
  121.  - Resourcen  dürfen (fast) beliebig lang werden.  Die Anzahl  der  Ob-
  122.    jekte pro Baum ist auf 1024 begrenzt;  jede Resource kann unbegrenzt 
  123.    viele Bäume enthalten (kein Beschränkung mehr auf max. 256 Bäume).
  124.    Wenn mehr als 256 Bäume verwendet werden,  muß die Resource im  HRD-
  125.    Format abgespeichert werden.  Resourcen in diesem Spezialformat  er-
  126.    zeugt man, indem man den Button "Lange Resourcen" einschaltet.
  127.    Routinen  zum  Laden  solcher  Resourcen werden  im  C  Source  mit-
  128.    geliefert.  Die Verwaltung ist 100% kompatibel zu den alten  Resour-
  129.    cen.
  130.  
  131.  - Neuer  Menüpunkt  "Letzte Fassung".  Er verwirft eine  Resource  und 
  132.    lädt den alten Stand wieder ein.
  133.  
  134.  - "HELP"-Button im BoxText-Dialog,  der alle Platzhalter des  p_valid-
  135.    Feldes anzeigt.
  136.  
  137.  - Im  Einstellungsdialog kann man eine Sizebox  einschalten,  die  für 
  138.    jedes  Objekt unter der Maus die Size-Ecke anzeigt.
  139.  
  140.  - Die  MyDials in Interface unterstützen Cut/Copy/Paste  mit  Control-
  141.    X/C/V über das Clipboard in allen Dialogen.
  142.  
  143.  - Im  Boxtext-Dialog sind für p_valid die Zeichen "A"-"Z" und  "a"-"z" 
  144.    zugelassen,  damit  man für eigene benutzerdefinierte  Objekte  neue 
  145.    Eingabetypen verwenden kann.
  146.  
  147.  - Man  kann eigene Objekte in die Objektebox von  Interface  einbinden 
  148.    (FlyDial-Ecke, OK-Button, ...).
  149.  
  150.  - Das  X/Y-Raster wird für jede Resource getrennt verwaltet.
  151.  
  152.  - Im  Dialog "Einstellungen" gibt es den  Punkt  "Label-Prefix".  Wenn 
  153.    dieser  Punkt  selektiert ist,  stellt Interface  jedem  neu  einge-
  154.    gebenen  Label eine einstellbare Anzahl von Zeichen  des  Baumnamens 
  155.    voran. Ein Trennzeichen kann auch definiert werden.
  156.  
  157.  - Durch  den Menüpunkt "Objektnummer fest" kann  man  verhindern,  daß 
  158.    sich  Objektnummern  bei Aktionen  verändern.  Statt  dessen  ändert 
  159.    Interface  nur  die Verkettung der  Objekte.  Funktioniert  auch  in 
  160.    Menübäumen.  Wenn diese Option selektiert ist, ändert Interface auch 
  161.    nicht mehr die Position unsortierter Menübaumeinträge.
  162.    Wenn ein neues Objekt in einen Baum eingefügt wird,  wird es an  das 
  163.    Baumende  angehängt,  und  verändert daher nicht  die  Objektnummern 
  164.    anderer Objekte in diesem Baum.
  165.    Sortieren  ist  auch möglich.  Dabei wird nur  die  Objektverkettung 
  166.    umgehängt, alle Objekte bleiben an ihrem Platz.
  167.    Wenn  dieser Schalter gesetzt ist,  sollte es leicht  möglich  sein, 
  168.    fremde  Resourcen zu ändern,  ohne daß das Programm dadurch  Schaden 
  169.    nimmt.  Es  kann  nur  zu Fehlern  kommen,  wenn  ein  Programm  der 
  170.    Objektverkettung  der eigenen Resource folgt.  Aber das dürfte  fast 
  171.    nie vorkommen.
  172.  
  173.  - Headerdateien werden nur abgespeichert,  wenn Labels verändert  oder 
  174.    gelöscht  wurden,  oder wenn der Resourceinfo-Dialog mit  "OK"  ver-
  175.    lassen wurde.  Das dürfte alle Compilerbenutzer freuen,  deren  Com-
  176.    piler sonst das komplette Projekt neu compilieren würde.
  177.  
  178.  - Der  Iconeditor  unterstützt das Clipboard.  Alle Icons  und  Images 
  179.    werden  im  IMG  und  im  ICO  (IconEdi)  Format  abgespeichert  und 
  180.    geladen.
  181.  - Ein  Clipboard für Objekte wurde eingebaut.  Objekte zieht man  ein-
  182.    fach aufs Clipboard,  bzw zieht sie wieder aus dem Clipboard auf ein 
  183.    Dialog- oder Menüfenster.  Man darf selbstverständlich auch  mehrere 
  184.    Objekte gleichzeitig aufs Clipboard kopieren.
  185.  
  186.  - Beim Sortieren kann man die Sortierrichtung  invertieren,  d.h.  man 
  187.    kann  z.B.  Dialoge  bauen,  die sich von unten nach  oben  aufbauen 
  188.    (igitt!).
  189.  - Manuelles  Sortieren:  Die  zu sortierenden Objekte  müssen  in  der 
  190.    Reihenfolge angeklickt werden,  in der sie später gezeichnet  werden 
  191.    sollen.
  192.  
  193.  - Fast alle möglichen Daten des Desktops werden  abgespeichert,  damit 
  194.    man  Interface nach dem Verlassen später wieder im gleichen  Zustand 
  195.    vorfindet (wie in Pure C).
  196.    Abgespeichert wird:
  197.    - Die Position aller Icons
  198.    - Die Größe, Position und Sliderposition aller Resourcedateifenster
  199.      (dazu zählt das Baumfenster, Formularfenster und Menüfenster)
  200.    - Die Größe, Position und Sliderposition des Desktopfensters
  201.    - Alle geladenen Resourcedateien (natürlich nur die Pfade)
  202.    - Die Position der Toolbox-Fenster
  203.    Alle  Koordinaten werden bei einem Auflösungswechsel  ggf  geändert, 
  204.    damit man immer noch alle Objekte erreichen kann.
  205.  
  206.  - Die  Position  jedes  geöffneten Baumfensters wird  für  alle  Icons 
  207.    (max.  15)  gespeichert.  Wenn  man eine  Resource  lädt,  wird  das 
  208.    Fenster  an  der alten Position  geöffnet.  Interface  verhält  sich 
  209.    damit ähnlich, wie der Atari Desktop.
  210.  
  211.  - Formularfenster  und Menüfenster werden relativ zum Baumfenster  ge-
  212.    öffnet.  Das soll die Übersicht etwas erhöhen,  und dürfte vor allem 
  213.    Großbildschirmbesitzer freuen.
  214.  
  215.  - Ein  Tip für alle,  die den Interface-Desktop nicht  mögen:  Desktop 
  216.    ins  Fenster legen,  Parameter speichern,  Interface  erneut  laden, 
  217.    Desktop schließen, Parameter erneut speichern.
  218.    Bei allen weiteren Starts erscheint kein Desktop mehr.
  219.  
  220.  - Mit  F8 kann man das eingestellte Raster aller Resourcen auf  Pixel-
  221.    raster  umschalten.  Bei einem erneuten F8 werden die alten  Raster-
  222.    einstellungen  restauriert.  Der Sinn ist eine schnelle  Umschaltung 
  223.    zwischen Buchstaben- und Pixelraster
  224.  
  225.  - Die   Menüzeile   kann  auch  ins   Desktopfenster   gelegt   werden 
  226.    (vorausgesetzt, daß der Desktop im Fenster liegt).
  227.  
  228.  - Beim  Verschieben  eines  Objekts kann man das  Objekt  "unter"  ein 
  229.    anderes  Objekt  schieben.  Es wird dem Zielobjekt nicht  als  Child 
  230.    zugeordnet,  wenn  man  auf die Alertbox  "Soll  die  Objektstruktur 
  231.    geändert werden? Abbruch/Nein/Ja" mit "Nein" antwortet. Diese Alert-
  232.    box  erscheint nur,  wenn das verschobene Objekt und das  Zielobjekt 
  233.    ein gemeinsames Parent besitzen.
  234.  
  235.  - Icons  und  Images können durch den Button "Minimale  Größe"  soweit 
  236.    wie  möglich  verkleinert werden,  ohne daß  Daten  verloren  gehen. 
  237.    Dabei  wird  das Image soweit nach links oben  geschoben,  bis  kein 
  238.    weißer  Rand mehr existiert.  Dann wird der rechte und  untere  Rand 
  239.    abgeschnitten. Zuletzt wird das Image wieder zentriert.
  240.  
  241.  - Der  Objekttyp  "G_USERDEF" wird direkt von  Interface  unterstützt. 
  242.    Dabei legt Interface eine OBJECT-Struktur an,  deren ob_spec-Pointer 
  243.    auf  eine  USERBLK-Struktur  zeigt.  Für jedes Objekt  wird  in  der 
  244.    Resource eine eigene USERBLK-Struktur angelegt.
  245.    "ub_parm"  kann  direkt in Interface  eingegeben  werden.  "ub_code" 
  246.    enthält  einen NULL-Pointer,  d.h.  nach dem Einladen einer  solchen 
  247.    Resource  muß  man  als erstes in  "ub_code"  aller  Userdef-Objekte 
  248.    einen Zeiger auf die eigene Zeichenroutine eintragen.
  249.  
  250.  - Unter  MultiTOS  kann man auch in den Toolbox-Fenstern und  im  Fen-
  251.    ster-Desktop  arbeiten,  wenn sie im Hintergrund liegen (sie  werden 
  252.    nicht  getopt).  Man muß dann dabei nicht mehr die rechte  Maustaste 
  253.    drücken.
  254.  
  255.  - Ein Wrap-Modus für die Sizebox wurde implementiert.  Auf hochdeutsch 
  256.    heißt das,  daß man Objekte in alle möglichen Richtungen  vergrößern 
  257.    und  verkleinern  kann.  Es gibt immer noch nur die Sizebox  in  der 
  258.    rechten,  unteren Ecke der Objekte.  Aber wenn man die Ecke über das 
  259.    Objekt  oder  links  davon zieht,  wird auf  eine  andere  Ecke  "u-
  260.    mgeschaltet".
  261.  
  262.  - AV_STARTPROG  wird  für Resourcedateien  unterstützt  (z.B.  im  Zu-
  263.    sammenspiel mit FSearch von Stefan Gerle).
  264.  
  265.  - Fast alle Strings der Modula-Headerausgabe liegen in der  Interface-
  266.    Resource, und sind dadurch frei definierbar.
  267.  
  268.  - Die  Shortcuts  in Menübäumen werden  automatisch  rechtsbündig  an-
  269.    geordnet. Dabei beachtet Interface folgende Regeln zur Erkennung:
  270.    -  Der  Shortcut  startet ab dem ersten Blank,  das von  rechts  ge-
  271.       funden wird.
  272.    -  Vor  der  Tastenangabe  muß mindestens  ein  Kontrollzeichen  für 
  273.       Shift,  Control oder Alternate stehen,  oder es folgt sofort  die 
  274.       Tastenangabe;  dann sind aber nur Sondertasten wie  HELP,  INSERT 
  275.       usw erlaubt.
  276.    -  Nach  dem  oder  den Kontrollzeichen muß  eine  1  Zeichen  lange 
  277.       Tastenangabe folgen, oder eine Angabe einer Sondertaste.
  278.  
  279.    Wenn  diese  Bedingungen erfüllt sind,  werden  die  Shortcuts  nach 
  280.    folgenden Regeln angeordnet:
  281.    -  Vor jedem Shortcut müssen mindestens 2 Spaces stehen.
  282.    -  Steht am Textende ein "..." (z.B.  in "Öffnen..."),  dann  reicht 
  283.       in dieser Zeile 1 Space vor dem Shortcut aus.
  284.  
  285.    Die  erlaubten Zeichen für die Kontrolltasten stehen in  der  Inter-
  286.    face Resource im Free String "SHORTCUT".  Die erlaubten Sondertasten 
  287.    stehen im Free String "SH_KEYWORDS".  Vor und hinter jeder Sonderta-
  288.    ste in diesem Free String muß ein "/" stehen.
  289.    Dadurch sind fast alle denkbaren Shortcuts von Interface  erkennbar. 
  290.    Einzige Ausnahme ist ein einzelner Buchstabe, vor dem kein Kontroll-
  291.    tastenzeichen  steht.  Ich habe diese Möglichkeit  absichtlich  aus-
  292.    geklammert,  damit  Interface  nicht versehentlich ein  Zeichen  aus 
  293.    einem Menüeintrag ohne Shortcut falsch anordnet (z.B. "Bild 1").
  294.  
  295.  - Die  MyDials  und Interface kommen unter MultiTOS auch  mit  anderen 
  296.    Systemfontgrößen zurecht.
  297.  
  298.  - In jedem Objekt-Dialog gibt es einen Hilfebutton,  der einen  Hilfs-
  299.    dialog über alle erweiterten Objekttypen anzeigt.
  300.    Dieser  Dialog kann im Extobfix-Prg enthalten sein.  Wenn  eine  Ex-
  301.    tobfix-Datei mit Hilfeseite geladen wurde,  wird von Interface immer 
  302.    diese Seite angezeigt.  Ansonsten wird eine Default-MyDial-Hilfesei-
  303.    te angezeigt.
  304.  
  305.  - Jeder  Variablen  der C Source Ausgabe (RSH) kann man  ein  "static" 
  306.    voranstellen lassen.  Dadurch sind alle Variablen Modullokal  dekla-
  307.    riert,  und  man kann mehrere Resourcen in ein Programm  übernehmen. 
  308.    Der Button befindet sich neben dem RSH-Button.
  309.  
  310.  
  311.  Interface 2.01:
  312.  ===============
  313.  - In der Suchfunktion dürfen Unix-Wildcards benutzt werden.
  314.  
  315.  - Wenn die Suchfunktion ein Objekt in einem Menübaum findet,  wird das 
  316.    entsprechende Pulldown automatisch aufgeklappt.
  317.  
  318.  - Der Iconeditor liest jetzt auch Farbbilder (XIMG-Format),  aber  man 
  319.    kann weiterhin nur die erste Plane ausschneiden.  Besonders sinnvoll 
  320.    ist  diese neue Möglichkeit also nicht.  Sie stellt nur  den  ersten 
  321.    Schritt  dar,  um  später die neuen Farb-Icons von Atari  zu  unter-
  322.    stützen.
  323.  
  324.  - Die MyDials unterstützen den Befehl "my_menu_key",  um einen  Short-
  325.    cut  in  einem  Menübaum zu suchen.  Näheres  dazu  in  der  MyDial-
  326.    Anleitung.
  327.  
  328.  - Beim  Testen von Menübäumen überprüft Interface alle  Shortcuts  auf 
  329.    Doppelbelegungen.  Wenn  ein  Shortcut mehrfach  in  einem  Menübaum 
  330.    verwendet wurde, wird eine Warnung ausgegeben.
  331.    Wenn  der Punkt "Menü-Tastaturkürzel anordnen" ausgeschaltet  wurde, 
  332.    wird keine Überprüfung durchgeführt.
  333.  
  334.  
  335. Interface 2.20:
  336. ===============
  337.  Interface unterstützt jetzt auch die Falcon-Farbicons für _jede_  TOS-
  338.  Version, wenn die mitgelieferten Routinen verwendet werden.
  339.  Die  Farbicon-Routinen sind GEM-konform programmiert worden und  soll-
  340.  ten auf jeder Grafikkarte laufen.
  341.  
  342.  - Farbicons  können  direkt aus  XIMG-Bildern  ausgeschnitten  werden. 
  343.    Überzählige Planes werden dabei einfach abgeschnitten.
  344.  
  345.  - Wenn man ein selektiertes Icon erzeugt,  wird automatisch das selek-
  346.    tierte Bild des besten Icons einer niedrigeren Plane-Anzahl übernom-
  347.    men (sofern es eins gibt).
  348.  
  349.  - Block  kopieren  wurde im Iconeditor eingebaut.  Die  Funktion  wird 
  350.    über  Shift-Control-C oder über die Menüleiste des Iconeditors  auf-
  351.    gerufen.
  352.  
  353.  - ICN-Dateien können jetzt auch für Farbicons geladen und  gespeichert 
  354.    werden.
  355.  
  356.  - Die Kreisroutine wurde neu programmiert.  Gefüllte Kreise werden  in 
  357.    Farbauflösungen  jetzt  deutlich  schneller  gezeichnet.
  358.  
  359.  - Die Systemfont-Abfrage wurde verbessert.
  360.  
  361.  - Man kann beim Füllen auch die Maskenfarbe in andere Farben füllen.
  362.  
  363.  - Die  Maske wird durch Kreuze dargestellt,  damit man sie besser  von 
  364.    Grautönen unterscheiden kann.
  365.  
  366.  - Ich  habe die Image-Speicherverwaltung umgestellt.  Das  neue  Limit 
  367.    liegt  bei 10240 Image-Blöcken.  Wenn man zu jedem monochromen  Icon 
  368.    ein  Farbicon  mit Selektionsbild anlegt,  reicht das  für  ca  1700 
  369.    Icons pro Resource.
  370.    Bei  1700 Icons mit einer Größe von 32*32 Punkten würde  solch  eine 
  371.    Resource ca 2,6 MB groß sein.
  372.  
  373.  - Interface speichert Icons im XIMG-Format.
  374.  
  375.  - Der Iconeditor kann OS/2 und WINDOWS-Farbicons vom Format 32*32  mit 
  376.    16 Farben laden (trifft für 95% der Icons zu).
  377.  
  378.  - Im  Iconeditor kann man sich die Palette der Resource  mit  "Palette 
  379.    anzeigen"  anzeigen  lassen.  Mit  "Standard-Palette"  schaltet  man 
  380.    wieder  die  Palette  ein,  die Interface  beim  Programmstart  vor-
  381.    gefunden hat.
  382.  
  383.  - "Pulldown-Leerzeichen optimieren" ist wieder im  Einstellungsdialog, 
  384.    da  mich mehrere darum gebeten haben.  Außerdem wird  ein  Pulldown-
  385.    Eintrag,  der mit "-" anfängt und endet und disabled ist, nicht mehr 
  386.    verändert.  Dadurch  kann man kleine Teilüberschriften in  Pulldowns 
  387.    unterbringen (z.B. "--- Ausgabe ---").
  388.  
  389.  - In  der  Modula-Ausgabe wird wieder eine Export-Liste  in  der  DEF-
  390.    Datei  mit  ausgegeben.
  391.  
  392.  - Beim  Ausschneiden  von Blöcken in XIMG-Bildern gibt  es  keinen  16 
  393.    Pixelsnap mehr.  Die Blockbreite kann jetzt pixelgenau gewählt  wer-
  394.    den.  Außerdem  kann  man  den ausgeschnittenen Block  in  ein  Icon 
  395.    einfügen,  wenn er kleiner als das Icon ist.  Er ersetzt jetzt nicht 
  396.    mehr das komplette Icon.
  397.  
  398.  - Die  MyDials  unterstützen den Befehl "get_sysfnt" um  die  Art  und 
  399.    Größe des Systemfonts zu erfragen.
  400.  
  401.  - Man  kann jetzt in den MyDials eine eigene Routine in die  dial_fix-
  402.    Routine  einklinken,  die  immer dann angesprungen  wird,  wenn  die 
  403.    MyDials den erweiterten Objekttyp eines Objekts nicht kennen.
  404.  
  405.  - Im  Farbicon-Editor kann man sich die RGB-Palette eines  Images  mit 
  406.    "XIMG-Palette anzeigen" anzeigen lassen.
  407.  
  408.  - Die  GFA-Demoroutinen  der MyDials wurden durch  neue  Routinen  von 
  409.    Stefan  Münch ersetzt (Danke!).  Die neuen Routinen sind  wesentlich 
  410.    besser kommentiert als die alten.
  411.  
  412.  - Da die Farbicons relativ viel Speicher benötigen,  befindet sich auf 
  413.    der  Interface-Diskette  eine Resource,  die keine  Farbicons  bein-
  414.    haltet.  Wenn zuwenig Speicher vorhanden sein sollte,  dann kann man 
  415.    die  normale  Resource durch diese "monochrome"  Resource  ersetzen. 
  416.    Die   Resource   befindet   sich   im   selbstentpackenden    Archiv 
  417.    "INTMONO.TOS".
  418.  
  419.  - In der Dialogbox,  in der man die erweiterten Objekt-Flags  eingeben 
  420.    kann,  befindet sich jetzt ein Popup,  mit dem man die 3D-Flags  vom 
  421.    AES 4.0 (Falcon, MultiTOS) direkt setzen kann.
  422.  
  423.  
  424.  Interface 2.21:
  425.  ===============
  426.  - Im  Iconeditor kann man die Farbe eines Pixels  herausfinden,  indem 
  427.    man  den Pixel mit Shift-Linksklick oder mit Rechts- und  Linksklick 
  428.    anwählt. Die gefundene Farbe wird dann automatisch die neue Zeichen-
  429.    farbe.
  430.  
  431.  - Die  Bilddaten  lassen sich im Iconeditor in der Höhe  oder  in  der 
  432.    Breite halbieren.  Dadurch kann man für die niedrige Auflösung  oder 
  433.    für Gemini schnell kleine Icons erzeugen.  Die Routine löscht  jeden 
  434.    zweiten Pixel.
  435.  
  436.  - Auch in der RSH-Ausgabe werden jetzt zu kurze te_pvalid-Felder einer 
  437.    TEDINFO-Struktur mit 0-Bytes aufgefüllt.
  438.  
  439.  - Interface  verwendet  jetzt in einem Grafikmodus mit  mindestens  16 
  440.    Farben  3D-Dialoge.  Der 3D-Modus läßt sich über  den  Einstellungs-
  441.    Dialog  jederzeit  ausschalten,  die  Änderung  wird  beim  nächsten 
  442.    Neustart von Interface beachtet.
  443.  
  444.  - "Backdrop" ist ab Winx 2.1 möglich:  Einfach kurz auf den  Titelbal-
  445.    ken  des obersten Fensters klicken und das Fenster wird  sofort  zum 
  446.    untersten Fenster.
  447.  
  448.  
  449.  Interface 2.30:
  450.  =============== 
  451.  - Die  MyDials  unterstützen  für alle  Objekte  eine  3D-Darstellung. 
  452.    Genaueres  dazu  steht  am  Ende  der  MyDial-Anleitung.
  453.  
  454.  - Windows-Icons mit 2, 16 und 256 Farben werden jetzt korrekt eingela-
  455.    den  und  die Maske wird übernommen.  Windows-Icons mit  256  Farben 
  456.    gibt es erst ab Windows 3.1.
  457.  
  458.  - Im  Alert-Dialog  gibt es den Button "Test".  Dadurch  muß  man  den 
  459.    Dialog nicht extra verlassen, um die Alertbox zu testen.
  460.  
  461.  - Drag&Drop wird unterstützt.  Akzeptiert werden Resource-Dateien, die 
  462.    auf  ein beliebiges Interface-Fenster gezogen  werden,  und  IMG-Da-
  463.    teien und WINDOWS- bzw OS/2-Dateien,  die auf ein  Iconeditorfenster 
  464.    gezogen werden können.
  465.  
  466.  - Mit  "Flags  setzen"  (F7) kann man auch die  erweiterten  Flags  in 
  467.    allen selektierten Objekten ändern.
  468.  
  469.  - Suchdialog: Unterscheidung Groß/Kleinschreibung ist einschaltbar.
  470.  
  471.  - "Nächstes"-Button  in allen Objektdialogen ist nur  noch  anwählbar, 
  472.    wenn es weitere Objekte gibt.
  473.  
  474.  - MyDials:  Die MyDials unterstützen jetzt ClrHome und  Shift-ClrHome, 
  475.    um den Cursor zu positionieren.
  476.  
  477.  - MyDials:  Bei  einem Doppelklick auf den Mover eines  Dialoges  wird 
  478.    der Dialog zentriert.
  479.  
  480.  - MyDials:  Neue  Funktion "form_Button" eingebaut,  die  beim  Redraw 
  481.    eines Objektes ein Fensterhandle berücksichtigt.  Als netten  Neben-
  482.    effekt kann man jetzt DISABLED-Exitbuttons nicht mehr über  Tastatur 
  483.    auslösen (ein Bug vom TOS-form_button).
  484.  
  485.  - MyDials:  "popup_select" kann man ein Fensterhandle übergeben, damit 
  486.    der  aufrufende  Popupbutton über das Handle  neu  gezeichnet  wird. 
  487.    Wenn das Handle NIL ist,  wird er komplett über objc_draw gezeichnet 
  488.    (wie früher).
  489.  
  490.  - MyDials:  Der erste Parameter von "dial_alert" ist jetzt ein  Zeiger 
  491.    auf  eine OBJECT-Struktur (früher BITBLK).  Dadurch kann  man  jedes 
  492.    beliebige  Objekt in der linken,  oberen Alertecke  darstellen.  Wer 
  493.    malt ein paar schicke Farbicons dafür?
  494.    Beispiel: dial_alert (&tree[STOP], ...)
  495.  
  496.  - In  der RSH-Ausgabe steht jetzt vor jeder Grafiktabelle ein  "WORD", 
  497.    da es sonst mit einigen C Compilern Probleme gab.
  498.    Vorher: static RS... = {...
  499.    Jetzt : static WORD RS... = {...
  500.  
  501.  - MyDials:  Auch  TEXT und BOXTEXT-Objekte können jetzt über  Tastatur 
  502.    bedient  werden (Erweiterter Typ:  18).  Die Zeichenroutine  berück-
  503.    sichtigt zwar nicht alle BoxText-Attribute richtig (z.B.  OUTLINED), 
  504.    aber für die meisten Anwendungen sollte es reichen.
  505.  
  506.  - MyDials:  Man  kann jetzt Alertboxen in Fenster  legen.  Für  diesen 
  507.    Zweck gibt es folgende neue Routinen:
  508.    - alert_data:  Diese  Funktion berechnet alle Daten  einer  Alertbox 
  509.      (u.a. Größe und Position aller Elemente).
  510.    - alert_draw:   Diese   Funktion  zeichnet  die  Alertbox   an   den 
  511.      angegebenen Koordinaten mit einem zu übergebenden Clipping.
  512.    - alert_close:  Wenn das Alert-Fenster wieder geschlossen wird,  muß 
  513.      diese Funktion aufgerufen werden,  damit alle Elemente des  Alert-
  514.      Baums initialisiert werden.
  515.  
  516.  - MyDials:  2 neue Funktionen für Textobjekte.  Da die Objekte für die 
  517.    3D-Darstellung  in Userdefs gewandelt werden müssen,  kommt man  nur 
  518.    noch   umständlich   über  die  USERBLK-Struktur   oder   über   den 
  519.    get_obspec-Aufruf an den Text der Objekte.  Um das etwas zu erleich-
  520.    tern, gibt es jetzt folgende Funktionen:
  521.    - objc_setobspec:  Diese Funktion kopiert einen String in ein belie-
  522.      biges Objekt.
  523.    - objc_getobspec:  Diese Funktion kopiert den Text eines Objekts  in 
  524.      einen String.
  525.    Beide  Funktionen arbeiten mit normalen Objekten und auch mit  User-
  526.    defs.
  527.    Unterstützte Objekttypen:
  528.    G_BUTTON,  G_STRING,  G_TITLE,  G_CICON,  G_ICON, G_BOXCHAR, G_TEXT, 
  529.    G_BOXTEXT G_FTEXT, G_FBOXTEXT (te_ptext bzw ib_ptext).
  530.  
  531.  - MyDials:  Man  kann jetzt das dial_do der MyDials um  eigene  Events 
  532.    erweitern  und/oder  auch das Event-verhalten der  Routine  komplett 
  533.    ändern.  Dazu  gibt  es eine neue Funktion,  mit der  man  2  eigene 
  534.    Routinen in dial_do einklinken kann:
  535.    - set_MyEvnt (init_func, evnt_func)
  536.    init_func wird gleich zu Anfang von dial_do aufgerufen.  Der Routine 
  537.    wird ein Zeiger auf eine Struktur übergeben,  in der alle  Parameter 
  538.    von evnt_multi eingetragen wurden (Definition siehe  mydial.h).  Die 
  539.    Struktur  wurde bereits mit den Standardwerten  der  dial_do-Routine 
  540.    initialisiert.  init_func  könnte jetzt z.B.  im ersten Eintrag  der 
  541.    Struktur zusätzlich noch einen Timer-Event eintragen.
  542.    evnt_func  wird  von  den MyDials direkt  nach  dem  evnt_multi  der 
  543.    dial_do-Routine  aufgerufen.  Die erste übergebene Variable  enthält 
  544.    einen Zeiger auf den Rückgabewert von evnt_multi,  der die aufgetre-
  545.    tenen  Events  angibt  (die man auch  verändern  darf).  Die  zweite 
  546.    Variable  enthält  einen Zeiger auf  alle  evnt_multi-Parameter.  In 
  547.    dieser Routine könnte man jetzt die zusätzlich eingetragenen  Events 
  548.    auswerten  oder  auch die von evnt_multi  ermittelten  Werte  ändern 
  549.    oder löschen.
  550.    Mit get_MyEvnt kann man die gesetzten Adressen wieder abfragen.
  551.  
  552.  - Das Desktopfenster wird bei CTRL-W nicht mehr mitge"cycled".
  553.  
  554.  - MyDials:  Bisher konnten die MyDials maximal 1000 Userdefs in  einem 
  555.    statischen  Array verwalten.  Jetzt muß man einen Zeiger auf so  ein 
  556.    Array  und die Anzahl der möglichen Userdefs bei  dial_init  überge-
  557.    ben.  Dadurch  kann  die Anzahl der Userdefs  fast  beliebig  erhöht 
  558.    werden.
  559.    Also z.B.:
  560.    #define UBLOCKLEN 2000
  561.    OBBLK usrblck[UBLOCKLEN]
  562.    dial_init (..., usrblck, UBLOCKLEN);
  563.  
  564.  - Die  Textlänge eines Icontextes kann jetzt durch einen neuen  Button 
  565.    direkt geändert werden,  ohne daß man den Icon-Dialog dazu verlassen 
  566.    müßte.
  567.  
  568.  - Die Interface-Desktopfarbe kann selbst definiert werden,  indem  man 
  569.    in  der  Resource  die Farbmuster  im  Baum  "DESKCOL"  entsprechend 
  570.    ändert.
  571.  
  572.  - MyDials:  Scrollbare Editfelder wurden eingebaut.  Das Editfeld  muß 
  573.    dazu  Typ  26  (LONGINPUT) bekommen und darf nur  aus  einem  langen 
  574.    Eingabefeld  bestehen.  Solche Editfelder lassen sich natürlich  von 
  575.    der  Größe her beliebig verkleinern.
  576.  
  577.  - In  Interface kann man jetzt Eingabefelder mit einer Länge  von  bis 
  578.    zu 255 Zeichen editieren.  Die entsprechenden Editfelder im Boxtext-
  579.    Dialog scrollen bei längeren Editfeldern.
  580.  
  581.  - Wenn  man  die Objektdatenanzeige eingeschaltet hat  und  die  CTRL-
  582.    Taste  gedrückt hält,  werden die Objektdaten des Parents des  unter 
  583.    der Maus liegenden Objekts angezeigt.
  584.  
  585.  - MyDials:  Mit dial_setcpos kann man den Cursor auf eine neue Cursor-
  586.    position und ein neues Objekt setzen.
  587.    Mit  dial_getcpos kann man das aktuelle Editobjekt und die  aktuelle 
  588.    Cursorposition erfragen.
  589.  
  590.  
  591.  Besondere Tastaturfunktionen von Interface:
  592.  ===========================================
  593.  Mehrere  Objekte können durch Aufziehen eines Rahmens selektiert  wer-
  594.  den.  In Formularen muß die ALTERNATE-Taste gedrückt werden,  um einen 
  595.  Rahmen aufzuziehen.
  596.  
  597.  Einzelne Objekte können mit gedrückter SHIFT-Taste selektiert werden.
  598.  
  599.  Wenn ein Objekt verschoben wird,  und der Benutzer während des Loslas-
  600.  sens  der  Maustaste die SHIFT-Taste gedrückt hält,  wird  das  Objekt 
  601.  kopiert.
  602.  
  603.  Wird während des Anklickens eines Objektes die CONTROL-Taste  gedrückt 
  604.  gehalten,  wählt  man statt dessen das Objekt unter  dem  angeklickten 
  605.  Objekt  aus.  CONTROL  kann mit ALTERNATE  und/oder  SHIFT  kombiniert 
  606.  werden.
  607.  
  608.  Um  in mehrzeiligen Eingabefeldern den Text rechts vom Cursor  in  die 
  609.  nächste Zeile zu befördern, muß SHIFT INSERT gedrückt werden.
  610.  
  611.  Alle Fenster können auch mit den Cursortasten gescrollt werden.
  612.  
  613.  Tastaturfunktionen in Dialogboxen:
  614.  CONTROL + Cursor: Cursor wortweise bewegen.
  615.  SHIFT   + Cursor: Cursor an Anfang/Ende der Zeile bewegen.
  616.  
  617.  Um  das Format einer Resource Datei anzusehen und zu ändern,  muß  man 
  618.  das  dazu gehörige Icon auf dem Desktop selektieren,  und die  'Info'-
  619.  Funktion aufrufen (F4).
  620.  Die 'Info'-Funktion liefert über fast alle Objekte Informationen.  Mit 
  621.  'Hilfe'  erhält  man  eine Übersicht über die  Funktionen  der  SHIFT, 
  622.  CONTROL und ALTERNATE Tasten.
  623.  
  624.  
  625.  In  dieser  Demoversion  ist das Speichern von  Daten  nicht  möglich. 
  626.  Deshalb  ist  in dem Ordner RSH eine Beispieldatei,  die  die  RSH  (C 
  627.  Source) Ausgabe und die Headerausgabe in verschiedenen Sprachen demon-
  628.  striert.
  629.  
  630.  
  631.  Vertrieb:            no Software GmbH         Tel: 06551-9701-11
  632.  =========            Ritzstr. 13              Fax: 06551-9701-15
  633.                       D 55494 Prüm
  634.  
  635.                       Deutsche Bank Köln
  636.                       BLZ 
  637.                       KTO 404 308 9
  638.  
  639.  
  640.  Update-Konditionen:
  641.  ===================
  642.  Umfang:
  643.  -------
  644.     Das Update besteht aus einem neuen Handbuch sowie zwei Disketten
  645.  
  646.  Kosten:
  647.  -------
  648.     Vorkasse Scheck, Bar oder Überweisung (innerhalb Deutschland!):
  649.     Updates von 1.xx auf 2.30   50,-DM + 7,- Versand
  650.     Updates von 2.20 auf 2.30   25,-DM + 7,- Versand
  651.  
  652.     Nachnahme (nur innerhalb Deutschland!):
  653.     Updates von 1.xx auf 2.30   50,-DM + 7,- Versand + 8,- Nachnahme
  654.     Updates von 2.20 auf 2.30   25,-DM + 7,- Versand + 8,- Nachnahme
  655.  
  656.     auf Rechnung (nur für Schulen, Behörden, Institute):
  657.     Updates von 1.xx auf 2.30   50,-DM + 7,- Versand
  658.     Updates von 2.20 auf 2.30   25,-DM + 7,- Versand
  659.  
  660.     Vorkasse Euro-Scheck, Bar oder Überweisung (außerhalb Deutschland):
  661.     Updates von 1.xx auf 2.30   50,-DM + 10,- Versand
  662.     Updates von 2.20 auf 2.30   25,-DM + 10,- Versand
  663.  
  664.     Nachnahme ist uns außerhalb Deutschland derzeit nicht möglich
  665.  
  666.  Was tun:
  667.  --------
  668.     => Formloses Schreiben: 'Hiermit bestelle ich ein Update Interface
  669.                              von Version _.__ auf die neueste Version'
  670.  
  671.     => Gewünschte Zahlungsart angeben
  672.  
  673.     => Bitte Originaldiskette(n) zum Update einschicken.
  674.  
  675.     => Bei kostenpflichtigen Updates KEINEN frankierten Rückumschlag
  676.        mitschicken!
  677.  
  678.  
  679.  
  680.  
  681.  Vertrieb Schweiz:     EDV Dienstleistungen     Tel: (01) 784 89 47
  682.  =================     Stiftung Grünau          Tel: (01) 784 88 25
  683.                        Erlenstrasse 73
  684.                        CH 8805 Richterswil
  685.